package practice;

import java.util.ArrayList;

public class TodoList {

    private final ArrayList<String> todoList = new ArrayList<>();

    public void add(String todo) {
        // TODO: добавьте переданное дело в конец списка

        todoList.add(todo);
    }

    public void add(int index, String todo) {
        // TODO: добавьте дело на указаный индекс,
        //  проверьте возможность добавления

        if (hasIndex(index)) {
            todoList.add(index, todo);
        } else {
            add(todo);
        }
    }

    public void edit(int index, String todo) {
        // TODO: заменить дело на index переданным todo индекс,
        //  проверьте возможность изменения

        if (hasIndex(index)) {
            todoList.set(index, todo);
        }
    }

    public void delete(int index) {
        // TODO: удалить дело находящееся по переданному индексу,
        //  проверьте возможность удаления дела

        if (hasIndex(index)) {
            todoList.remove(index);
        }
    }

    public ArrayList<String> getTodos() {
        // TODO: вернуть список дел

        return new ArrayList<>(todoList);
    }

    public String get(int index) {
        if (hasIndex(index)) {
            return todoList.get(index);
        }
        return "";
    }

    public boolean hasIndex(int index) {
        return index >= 0 && index < todoList.size();
    }
}